#define _CRT_SECURE_NO_WARNINGS
// ↑ 将本行在代码放在第一行可以避免 scanf的报错问题（仅在VS编译器里）
//【初阶篇】33.分支和循环语句_for循环
//【初阶篇】34.分支和循环语句_do-while循环
//【初阶篇】35.休息

#include<stdio.h>

int main()
{
	//33.分支和循环语句_for循环
		//打印1-10的整数
	int i = 0;
	for (i = 1; i <= 10; i++)//for可以将循环的初始化、条件判断和调整部分放在一起，方便后续代码维护
	{
		if (i == 5)
		{
		//	break;  //break是直接跳出循环
			continue;//continue 区别于while中continue跳过本次循环去执行下一次循环的判断部分 ，for中continue是跳过本次循环，执行表达式3-调整部分
		}
		printf("%d\n", i);
	}

	//33.for 的变种//如果for循环的判断部分省略，则会认为判断部分恒成立，死循环
		/*
		for (;;) 
		{
			printf("?");
		}
		*/
	//33.for 的变种，可以用多个变量来判断for(表达式1.1 ， 表达式1.2；表达式2.1 ，表达式2.2；表达式3.1 ，表达式3.2）
	//---------------------------------

	//34.分支和循环语句_do - while循环
	int j = 1;

	do
	{
		printf("%d\n", j);
		j++;
	} while (j <= 10);

	//---------------------------------





	return 0;
}

//33.分支和循环语句_for循环：for(表达式1；表达式2；表达式3){循环语句；}
		//表达式1:为初始化部分，在整个程序中只执行一次
		//表达式2:为条件判断部分
		//表达式3:为调整部分
	//for循环采用 前闭后开的写法"[ ）" ,方便阅读代码或直观观察循环次数
	//如果for循环的判断部分省略，则会认为判断部分恒成立，死循环
	//如果for循环的初始化部分在外部被初始化了，可以被省略但不建议，因为会有bug，如在嵌套for时，过度省略套内的初始化会失效
//34.分支和循环语句_do-while循环:do {循环语句；}while（表达式）；
	//do while 循环至少执行一次
	//do while 中的break和continue和while相似